Package-level declarations

Types

Link copied to clipboard
@ApiStatus.Experimental
class ObservedClassificationService constructor(delegate: ClassificationService, observationRegistry: <Error class: unknown class> = ObservationRegistry.NOOP) : ClassificationService

Opt-in observations for classification, with the delegate's metadata and model family preserved. Each call emits embabel.ai.classification with fixed operation and outcome tags and validates the selected category against the request. Provider observations inherit the open call scope. Payloads, model identifiers and raw exceptions are never added to these observations or debug logs. Operational failures and thrown exceptions record a fixed, stackless error marker with no cause. The original exception is rethrown unchanged; the wrapper never changes thread interruption state. Non-fatal observation lifecycle exceptions use bounded diagnostics when logging is available and never replace service behavior. JVM error types propagate.

Link copied to clipboard
@ApiStatus.Experimental
class ObservedDecisionService constructor(delegate: DecisionService, observationRegistry: <Error class: unknown class> = ObservationRegistry.NOOP) : DecisionService, DelegatingDecisionService, QuestionSetExecution, PropositionAssessment, RatingAssessment

Opt-in observations for decision services, preserving the delegate's DECISION metadata snapshot. Classification emits one embabel.ai.classification observation; proposition assessment emits one embabel.ai.decision observation. Both carry only fixed operation and outcome tags. False is an answered outcome, just like true. Operational failures and exceptions use a fixed, stackless error marker with no cause. Original exceptions are rethrown unchanged and never logged. Thread interruption state is untouched. Non-fatal observation lifecycle exceptions use bounded diagnostics when logging is available and never replace service behavior. JVM error types propagate.